Auto merge of #3139 - jhbabon:improve-replace-parsing-error-msg, r=alexcrichton
Show an error messager for invalid semver spec for packages in the [replace] section.
The `[replace]` section in the `Cargo.toml` file doesn't allow invalid semver specsfor packages, so something like this:
```toml
[dependencies]
foo = "*"
[replace]
"foo:*" = { git = 'https://example.com' }
```
It's not valid. In this case we will display an error message like this:
```
error: failed to parse manifest at `Cargo.toml`
Caused by:
replacements must specify a valid semver version to replace, but `foo:*` does not
Caused by:
Parse error
```
closes #3129